A service request interrupt router is an interface between on-chip service request interrupt signals and service providers that respond to these interrupt signals. The interrupt router arbitrates among the service request interrupt signals, which are based on hardware events or triggers, and forwards a winner to one of the service providers (e.g., Central Processing Unit (CPU), Direct Memory Access (DMA), etc.).
The service request interrupt router includes a Service Request Node (SRN) for each service request interrupt signal, and an Interrupt Control Unit (ICU) for each of the service providers. A typical multi-core service request interrupt router may have several hundred SRNs and multiple ICUs.
In current interrupt service request routers, each ICU has its own arbitration unit to arbitrate among all SRNs having respective pending service request interrupt signals that is assigned or mapped thereto. Also, each ICU arbitrates independently from other ICUs.